package com.penghaisoft.microwms.base.web.data.service.impl;

import com.penghaisoft.microwms.base.web.data.service.IMdDockService;
import com.penghaisoft.microwms.base.web.dock.dao.MdDockMapper;
import com.penghaisoft.microwms.common.data.model.MdDock;
import com.penghaisoft.microwms.common.dto.FromToObj;
import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;
import com.penghaisoft.microwms.common.service.BaseService;
import com.penghaisoft.microwms.common.util.CommonUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.List;

/**
 * @Description 月台业务逻辑实现类
 * @author gaofeng
 * @date 2017年5月24日 下午2:38:20 
 * @version 1.0
 */
@Service("mdDockService")
public class MdDockServiceImpl extends BaseService implements IMdDockService {
	@Resource
	private MdDockMapper mdDockMapper;

	/** 
	 * @Title create
	 * @Description 新增记录
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:38:43
	 * @param mdDock
	 * @return
	 */
	@Override
	public Resp create(MdDock mdDock){
		mdDockMapper.create(mdDock);
		return success();
	}

	/** 
	 * @Title delete
	 * @Description 删除记录（逻辑删除）
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:38:59
	 * @param mdDock
	 * @return
	 */
	@Override
	public Resp delete(MdDock mdDock){
		mdDockMapper.delete(mdDock);
		return success();
	}

	/** 
	 * @Title findListByCondition
	 * @Description 根据条件查询记录
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:39:20
	 * @param page
	 * @param rows
	 * @param condition
	 * @return
	 */
	@Override
	public Pager<MdDock> findListByCondition(int page, int rows, MdDock condition){
		Pager<MdDock> pager = new Pager<>();
		pager.setPage(page);
		pager.setRows(rows);

		String[] arrStr = new String[2];

		try {
			if(condition.getWorktime1From() != null){
				FromToObj worktime1From = CommonUtils.getFromTo(condition.getWorktime1From(), 2);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}

		try {
			if(condition.getWorktime1To() != null){
				FromToObj worktime1To = CommonUtils.getFromTo(condition.getWorktime1To(), 2);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}

		try {
			if(condition.getWorktime2From() != null){
				FromToObj worktime2From = CommonUtils.getFromTo(condition.getWorktime2From(), 2);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}

		try {
			if(condition.getWorktime2To() != null){
				FromToObj worktime2To = CommonUtils.getFromTo(condition.getWorktime2To(), 2);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}


		condition.preQuery();
		List<MdDock> records = mdDockMapper.queryList(pager,condition);
		long size = mdDockMapper.queryCount(condition);
		pager.setRecords(records);
		pager.setTotalCount(size);
		return pager;
	}

	/** 
	 * @Title findById
	 * @Description 根据id查询记录
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:39:59
	 * @param id
	 * @return
	 */
	@Override
	public MdDock findById(String id){
		return mdDockMapper.queryById(id);
	}

	/** 
	 * @Title findByCode
	 * @Description 根据code查询记录
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:40:37
	 * @param mdDock
	 * @return
	 */
	@Override
	public MdDock findByCode(MdDock mdDock){
		return mdDockMapper.queryByCode(mdDock);
	}

	/** 
	 * @Title update
	 * @Description 修改记录
	 * @author gaofeng
	 * @date 2017年5月24日:下午2:41:02
	 * @param mdDock
	 * @return
	 */
	@Override
	public Resp update(MdDock mdDock){
		mdDockMapper.updateBySelect(mdDock);
		return success();
	}

	/** 
	 * <p>Title: queryDocksUnderWareHouse</p> 
	 * <p>Description: 查询指定仓库下的月台</p> 
	 * @Title: queryDocksUnderWareHouse 
	 * @Description: 查询指定仓库下的月台
	 * @author zhangxu 
	 * @2017年6月7日:2017年6月7日:下午6:09:31
	 * @param @param condition
	 * @param @return       
	 * @throws 
	 * @version V0.1 
	 */
	@Override
	public List<MdDock> queryDocksUnderWareHouse(MdDock condition) {
		return mdDockMapper.queryByAny(condition);
	}

	/** 
	 * <p>Title: queryMaterialDocksUnderFactory</p> 
	 * <p>Description: </p> 
	 * @Title: queryMaterialDocksUnderFactory 
	 * @Description: 获取当前工厂下的原材料库内的月台
	 * @author zhangxu 
	 * @2017年6月30日:2017年6月30日:下午2:57:44
	 * @param @param currentFactoryCode
	 * @param @return       
	 * @throws 
	 * @version V0.1 
	 */
	@Override
	public List<MdDock> queryDocksUnderFactory(String whType,String currentFactoryCode) {
		List<MdDock> docks = mdDockMapper.queryDocksUnderFactory(whType,currentFactoryCode);
		return docks;
	}

}
